#ifndef __DFS_CONFIG_H_
#define __DFS_CONFIG_H_

#ifdef __cplusplus
extern "C"
{
#endif

#include "sdkconfig.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <errno.h>
#include <stdarg.h>
#if defined(__GNUC__)
#include <fcntl.h>
#elif defined(__CC_ARM) || defined(__CLANG_ARM)
#include "sys/libc_fcntl.h"
#include "sys/libc_errno.h"
#include "sys/libc_stat.h"
typedef long off_t;
typedef uint32_t mode_t;
#endif



/*
 * skip stdin/stdout/stderr normally
 */
#ifndef DFS_FD_OFFSET
#define DFS_FD_OFFSET           3
#endif

#ifndef DFS_PATH_MAX
#define DFS_PATH_MAX             256
#endif

#define DFS_FILESYSTEMS_MAX         5
#define DFS_FILESYSTEM_TYPES_MAX    5

#define DFS_FS_FLAG_DEFAULT     0x00    /* default flag */
#define DFS_FS_FLAG_FULLPATH    0x01    /* set full path to underlaying file system */

#define DFS_FD_MAX      16

#define DFS_FD_MAGIC     0xFDFD

/* 0x5254 is just a magic number to make these relatively unique ("DFS") */
#define DFS_FIOFTRUNCATE 0x52540000U

#ifdef __cplusplus
}
#endif

#endif // __DFS_CONFIG_H_
